#pragma once

#include "stdafx.h"
#include "UltimateInputSubsystem.h"


class _OgreMoveExport ControlStatus
{
private:

	struct BoundKeyStruct{
		bool isButton;
		std::string stringKey;
		int intKey;
	}boundKeyStruct;

	UltimateInputSubsystem::UltimateInputStruct * inputStruct;
	std::map<std::string,BoundKeyStruct*> keyMap;

	

public:
	ControlStatus(void);
	~ControlStatus(void);

	void updateStatus(UltimateInputSubsystem::UltimateInputStruct * inputStruct);
	int getKeyValue(std::string key);
	bool getKeyPressed(int index);

	void bindKey(std::string abstractKey,std::string realKey);
	void bindKey(std::string abstractKey,int realKey);
	int getBoundKeyValue(std::string key);
};

